home *** CD-ROM | disk | FTP | other *** search
/ Visual Cafe 3 / Visual Cafe 3.ISO / Vcafe / Main.bin / VPOJAVA.DLL / SOURCE / JAVABEAN < prev    next >
Text File  |  1998-12-10  |  1KB  |  73 lines

  1. /*
  2.     Basic Java Bean.
  3. */
  4.  
  5. import java.awt.*;
  6. import java.awt.event.*;
  7. import java.beans.*;
  8.  
  9. public class JavaBean extends Canvas implements java.io.Serializable
  10. {
  11.     public JavaBean()
  12.     {
  13.         super();
  14.         setSize(40,40);
  15.         enableEvents(MouseEvent.MOUSE_EVENT_MASK);
  16.     }
  17.  
  18.     public void paint(Graphics context)
  19.     {
  20.         if (down)
  21.         {
  22.             context.setColor(pressedColor);
  23.         }
  24.         else
  25.         {
  26.             context.setColor(releasedColor);
  27.         }
  28.         context.fillArc(5,5,getSize().width-10,getSize().height-10,0,360);
  29.     }
  30.  
  31.     protected void processMouseEvent (MouseEvent e)
  32.     {
  33.         switch(e.getID())
  34.         {
  35.             case MouseEvent.MOUSE_PRESSED:
  36.                 down = true;
  37.                 repaint();
  38.                 break;
  39.             case MouseEvent.MOUSE_RELEASED:
  40.                 down = false;
  41.                 repaint();
  42.                 break;
  43.         }
  44.         super.processMouseEvent(e);
  45.     }
  46.  
  47.     public synchronized Color getReleasedColor()
  48.     {
  49.         return releasedColor;
  50.     }
  51.  
  52.     public void setReleasedColor (Color newColor)
  53.     {
  54.         releasedColor = newColor;
  55.         repaint();
  56.     }
  57.  
  58.     public synchronized Color getPressedColor()
  59.     {
  60.         return pressedColor;
  61.     }
  62.  
  63.     public void setPressedColor (Color newColor)
  64.     {
  65.         pressedColor = newColor;
  66.         repaint();
  67.     }
  68.  
  69.     private Color pressedColor = Color.black;
  70.     private Color releasedColor = Color.red;
  71.     transient boolean down = false;
  72. }
  73.